/**
 * 模版模式：在父类定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现，但调用将以抽象类中定义的方式进行。
 * 
 * 示例需求：
 * 创建一个定义操作的 Game 抽象类，其中，模板方法设置为 final，这样它就不会被重写。
 * Cricket 和 Football 是扩展了 Game 的实体类，它们重写了抽象类的方法。
 * 演示类SimpleMain使用 Game 来演示模板模式的用法。
 * 
 * 角色：
 * 抽象父类：Game
 * 具体子类：Cricket、Football
 * 钩子方法：+hook:void
 * 客户端：SimpleMain
 */
public class SimpleMain {
    public static void main(String[] args) {
       Game cricket = new Cricket();
       Game football = new Football();

       cricket.play();

       football.play();
    }
}
